As information technology has developed, the amount of data in storage has increased dramatically. Storage systems have developed from simple solutions that serve a single machine to vast storage repositories that provide storage for large networks of computers. One such recent repository design is a cloud.
This evolution of storage system has precipitated a parallel development in the logic used to store the data therein. Early data storage involved storage of data in lists. These lists have an advantage of being able to preserve an order of the data. However, traversal of such lists to retrieve data therefrom becomes increasingly inefficient as the amount of data increases. Thus, more complex storage logic becomes increasingly important as the amount of data increases. To this extent, many different types of algorithms using many different types of data structures have been utilized to improve search efficiency. Many of these algorithms utilize hash functions. A hash function converts potentially multi-dimensional data into a binary data value called a hash key, which is then used for an index that can be used to retrieve the data itself from a hash table containing all of the data.